# utils/screenshot_util.py

import os
from datetime import datetime
import allure

def save_screenshot(driver, mobile, status="login_failed"):
    """
    保存浏览器截图并附加到 Allure 报告中
    :param driver: selenium WebDriver 实例
    :param mobile: 当前用例的手机号（或用户名）
    :param status: 截图状态，如 login_failed、login_success 等
    """
    # 创建截图目录（如果不存在）
    os.makedirs("./screenshots", exist_ok=True)

    # 构造文件名
    timestamp = datetime.now().strftime("%Y%m%d_%H%M%S")
    filename = f"{status}_{mobile}_{timestamp}.png"
    filepath = os.path.join("screenshots", filename)

    # 保存截图到文件系统
    driver.save_screenshot(filepath)

    # 附加截图到 Allure 报告
    allure.attach(driver.get_screenshot_as_png(), filename, allure.attachment_type.PNG)

    print("截图成功：", os.path.abspath(filepath))
